home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 033a / cal14s23.zip / ANSICRT.PAS next >
Pascal/Delphi Source File  |  1989-03-12  |  2KB  |  104 lines

  1.  
  2. (*
  3.  * ansiCrt - unit to replace some functions of Borland's CRT using
  4.  *           ansi codes instead of bios calls
  5.  *
  6.  * (C) 1989 Samuel H. Smith
  7.  *
  8.  *)
  9.  
  10. unit ansiCrt;
  11.  
  12. interface
  13.  
  14.    const
  15.       Black         = 18;        DarkGray      = 18;
  16.       Red           = 1;         LightRed      = 11;
  17.       Green         = 2;         LightGreen    = 12;
  18.       Brown         = 3;         Yellow        = 13;
  19.       Blue          = 4;         LightBlue     = 14;
  20.       Magenta       = 5;         LightMagenta  = 15;
  21.       Cyan          = 6;         LightCyan     = 16;
  22.       LightGray     = 7;         White         = 17;
  23.  
  24.  
  25.    procedure gotoxy(x,y: integer);
  26.    procedure textColor(c: byte);
  27.    procedure textBackground(c: byte);
  28.    procedure highvideo;
  29.    procedure lowvideo;
  30.    procedure normvideo;
  31.    procedure clrscr;
  32.    procedure clreol;
  33.    function keypressed: boolean;
  34.    function readkey: char;
  35.    procedure delay(ms: longint);
  36.  
  37.  
  38.  
  39. implementation
  40.  
  41.    procedure gotoxy(x,y: integer);
  42.    begin
  43.       write(#27'[' , y , ';' , x , 'f');
  44.    end;
  45.  
  46.    procedure textColor(c: byte);
  47.    begin
  48.       if c > 9 then
  49.       begin
  50.          write(#27'[0;1m');
  51.          dec(c,10);
  52.       end
  53.       else
  54.          write(#27'[0m');
  55.  
  56.       write(#27'[3',c,'m');
  57.    end;
  58.  
  59.    procedure textBackground(c: byte);
  60.    begin
  61.    end;
  62.  
  63.    procedure highvideo;
  64.    begin
  65.       write(#27'[1m');
  66.    end;
  67.  
  68.    procedure lowvideo;
  69.    begin
  70.       write(#27'[0m');
  71.    end;
  72.  
  73.    procedure normvideo;
  74.    begin
  75.       write(#27'[1m');
  76.    end;
  77.  
  78.    procedure clrscr;
  79.    begin
  80.       write(#27'[2J');
  81.    end;
  82.  
  83.    procedure clreol;
  84.    begin
  85.       write(#27'[K');
  86.    end;
  87.  
  88.    function keypressed: boolean;
  89.    begin
  90.       keypressed := false;
  91.    end;
  92.  
  93.    function readkey: char;
  94.    begin
  95.       readkey := '?';
  96.    end;
  97.  
  98.    procedure delay(ms: longint);
  99.    begin
  100.    end;
  101.  
  102. end.
  103.  
  104.